


const { readFileSync, writeFileSync, existsSync } = require('fs')


const path = require('path');

const xy = require('../utils/xy')

//引入用户表
//密码加密
const bcryptjs = require('bcryptjs')

let usera = path.join(__dirname, '../', './ku', 'user.json')
let name = path.join(__dirname, '../', './ku', 'username.json')


module.exports = {
    login(req, res) {
        let { username, password } = req.body
        //登录正则校验, 正则表达式 用户名(数字/字母/下划线4-10位), 密码6位数字(5分)
        var reg = /^[a-zA-Z][a-zA-Z0-9]{4,16}$/
        if(!reg.test(username)){
            xy(res, 400, '数字/字母/下划线4-10位), 密码6位数字')
            return;
        }
        console.log(username);
        //先看一下接收来的数据是否为空
        if (!username || !password) {
            xy(res, 400, '用户名或者密码为空')
            return;
        }
        //数据不为空且密码正确就读取json文件
        let data = readFileSync(usera, 'utf8')
        if (data) {
            //读到了转数组
            let arr = JSON.parse(data)
            //到数组中找是否有当前用户名和密码
            let obj = arr.find(item => item.username === username || item.password === password)
            if (obj) {
                //找到了
                xy(res, 200, '登录成功', data = {
                    username: obj.username
                })
                return;

            } else {
                xy(res, 400, '用户名或者密码错误')
                return;
            }

        } else {
            xy(res, 400, '未注册')
            return;
        }



    },
    conteroller(req, res) {
        let { username, password, email, sex, iphone } = req.body
        if (!username || !password || !email || !sex || !iphone) {
            xy(res, 400, '用户名或者密码或者邮箱或者性别为空')
            return;
        }
        //收到的信息放到数组里
        let obj = {
            username: username,
            password: password,
            email: email,
            sex: sex,
            iphone: iphone
        }
        //判断文件是否存在
        if (existsSync(name)) {
            //读文件
            let data = readFileSync(name, 'utf-8')
            if (data) {
                //有数据直接转
                data = JSON.parse(data)
                //往里添加
                data.push(obj)
                //写进json文件中
                writeFileSync(name, JSON.stringify(data))

                xy(res, 200, '添加成功', {
                    aaa: data
                })
            } else {
                //没有数据
                writeFileSync(name, JSON.stringify([obj]))
                xy(res, 200, '添加成功')
            }
        } else {
            //没文件直接覆盖写
            writeFileSync(name, JSON.stringify([obj]))
            xy(res, 200, '添加成功')
        }
        return
    },
    del(req, res) {
        let { username } = req.body
        let data = readFileSync(name, 'utf-8')
        data = JSON.parse(data);
        data.forEach((items, index) => {
            if (items.username === username) {
                data.splice(index, 1)
                return
            }

        })
        writeFileSync(name, JSON.stringify(data))
        xy(res, 200, '删除成功')

    }

}